Funciones y métodos

FUNCIONES

Las funciones son el método principal de organización y reutilización de código.

Ya hemos visto el uso de algunas funciones predefinidas de Python, como la función print, abs, etc. Son predefinidas porque nosotros también podemos definir nuestras propias funciones.

Las funciones tienen un nombre y se declaran con la palabra reservada def y devuelve un valor usando la palabra reservada return.

También tienen una lista de argumentos: posicionales o por clave.


In [32]:
# Función que suma 3 números y devuelve el resultado
# 3 argumentos posicionales. Más adelante hablaremos de los argumentos por clave
def suma_tres(x, y, z):
    m1 = x + y
    m2 = m1 + z
    return m2

In [33]:
# Llamada a la función y asignación de valores para efecutar lo programado
suma_tres(2, 3, 5)


Out[33]:
10

Se pueden definir funciones que a su vez incluyan otras funciones


In [72]:
def suma1():
    global suma1
    suma1 = 6 + 5
    return suma1
def suma2():
    suma2 = suma1 + 8
    return suma2

suma1()
suma2()


Out[72]:
19

In [80]:
def suma_cuatro(x, y, z1, z2):
    return suma_tres(x, y, z1) + z2
suma_cuatro(6, 2, 2, 1)


Out[80]:
11

A diferencia de otros lenguajes como C++, Java o Perl, Python no utilliza corchetes o llaves para estructurar el código. Python utiliza espacios en blanco o tabulaciones para dar estructura a su código. El uso de tabuladores hace el código más legible, mientras que en otros lenguajes el código anterior ha de escribirse utilizando llaves

MÉTODOS

Otra de las características de Python es que todo número, cadena, estructura de datos, función, clase, módulo, etc es considerado como un objeto. Los objetos en Python tienen un tipo asociado (como por ejemplo string o function) y unos atributos y métodos.

  • atributos: características del objeto, los datos internos
  • métodos : funciones asociadas al objeto que tienen acceso a los atributos internos del objeto

Tanto los atributos como los métodos pueden ser accedidos mediante el operador punto. Por ejemplo, podemos tener una lista de números enteros:


In [ ]:
lista = [1, 0, 7, 4, 6 ]